package com.ruoyi.system.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 家谱成员对象 fam_member
 * 
 * @author wk
 * @date 2022-05-19
 */
public class FamMember extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 成员编号 */
    private Long memberId;

    /** 成员姓名 */
    @Excel(name = "成员姓名")
    private String memberName;

    /** 成员年龄 */
    @Excel(name = "成员年龄")
    private Long memberAge;

    /** 成员性别 */
    @Excel(name = "成员性别")
    private Long memberSex;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 去世日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "去世日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deadDate;

    /** 父亲 */
    @Excel(name = "父亲")
    private Long fatherId;

    /** 母亲 */
    @Excel(name = "母亲")
    private Long motherId;

    /** 配偶 */
    @Excel(name = "配偶")
    private Long partnerId;

    /** 辈分 */
    @Excel(name = "辈分")
    private Long gender;

    /** 个人传记 */
    @Excel(name = "个人传记")
    private String memberBiography;

    /** 遗传病 */
    @Excel(name = "遗传病")
    private String disease;

    /** 所属家谱 */
    @Excel(name = "所属家谱")
    private Long famId;
    /** 子成员 */
    private List<FamMember> children = new ArrayList<FamMember>();

    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setMemberName(String memberName) 
    {
        this.memberName = memberName;
    }

    public String getMemberName() 
    {
        return memberName;
    }
    public void setMemberAge(Long memberAge) 
    {
        this.memberAge = memberAge;
    }

    public Long getMemberAge() 
    {
        return memberAge;
    }
    public void setMemberSex(Long memberSex) 
    {
        this.memberSex = memberSex;
    }

    public Long getMemberSex() 
    {
        return memberSex;
    }
    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }
    public void setDeadDate(Date deadDate) 
    {
        this.deadDate = deadDate;
    }

    public Date getDeadDate() 
    {
        return deadDate;
    }
    public void setFatherId(Long fatherId) 
    {
        this.fatherId = fatherId;
    }

    public Long getFatherId() 
    {
        return fatherId;
    }
    public void setMotherId(Long motherId) 
    {
        this.motherId = motherId;
    }

    public Long getMotherId() 
    {
        return motherId;
    }
    public void setPartnerId(Long partnerId) 
    {
        this.partnerId = partnerId;
    }

    public Long getPartnerId() 
    {
        return partnerId;
    }
    public void setGender(Long gender) 
    {
        this.gender = gender;
    }

    public Long getGender() 
    {
        return gender;
    }
    public void setMemberBiography(String memberBiography) 
    {
        this.memberBiography = memberBiography;
    }

    public String getMemberBiography() 
    {
        return memberBiography;
    }
    public void setDisease(String disease) 
    {
        this.disease = disease;
    }

    public String getDisease() 
    {
        return disease;
    }
    public void setFamId(Long famId) 
    {
        this.famId = famId;
    }

    public Long getFamId() 
    {
        return famId;
    }
    public List<FamMember> getChildren()
    {
        return children;
    }

    public void setChildren(List<FamMember> children)
    {
        this.children = children;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("memberId", getMemberId())
            .append("memberName", getMemberName())
            .append("memberAge", getMemberAge())
            .append("memberSex", getMemberSex())
            .append("birthDate", getBirthDate())
            .append("deadDate", getDeadDate())
            .append("fatherId", getFatherId())
            .append("motherId", getMotherId())
            .append("partnerId", getPartnerId())
            .append("gender", getGender())
            .append("memberBiography", getMemberBiography())
            .append("disease", getDisease())
            .append("famId", getFamId())
            .toString();
    }
}
